home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / watcom / watkey2 / keytest.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-16  |  7.0 KB  |  209 lines

  1. #include<stdio.h>
  2. #include"key.h"
  3. #include"code.h"
  4.  
  5. #define SCANCODES 0
  6. #define THENAMES  1
  7.  
  8. void setupSingleHitKeys(void)
  9.  {
  10.  toggleSingleHitKey(KEY_TAB);
  11.  toggleSingleHitKey(KEY_1);
  12.  toggleSingleHitKey(KEY_2);
  13.  toggleSingleHitKey(KEY_3);
  14.  toggleSingleHitKey(KEY_4);
  15.  toggleSingleHitKey(KEY_5);
  16.  toggleSingleHitKey(KEY_6);
  17.  toggleSingleHitKey(KEY_ENTER);
  18.  }
  19.  
  20. void setupAliasKeys(void)
  21.  {
  22.  setAliasKey(ALIAS_GOFORWARD,KEY_UPARROW);
  23.  setAliasKey(ALIAS_GOBACKWARD,KEY_DOWNARROW);
  24.  setAliasKey(ALIAS_ROTATELEFT,KEY_LEFTARROW);
  25.  setAliasKey(ALIAS_ROTATERIGHT,KEY_RIGHTARROW);
  26.  setAliasKey(ALIAS_MAP,KEY_TAB);
  27.  }
  28.  
  29. void printScanCodes(void)
  30.  {
  31.  long i,flag;
  32.  flag=0;for(i=0;i<256;i++){if(checkKey(i)){flag=1;printf("%x ",i);}}
  33.  if(flag)printf("\n");
  34.  }
  35.  
  36. void printKeys(char whichWay)
  37.  {
  38.  if(whichWay==SCANCODES){printScanCodes();return;}
  39.  
  40.  if(checkKey(KEY_BREAK))
  41.   {
  42.   printf("KEY_BREAK\n");
  43.   printf("Hit a key to continue...\n");
  44.   clearKeys();
  45.   waitKey();
  46.   return;
  47.   }
  48.  
  49.  
  50.  if(checkKey(ALIAS_GOFORWARD))printf("ALIAS_GOFORWARD\n");
  51.  if(checkKey(ALIAS_GOBACKWARD))printf("ALIAS_GOBACKWARD\n");
  52.  if(checkKey(ALIAS_ROTATELEFT))printf("ALIAS_ROTATELEFT\n");
  53.  if(checkKey(ALIAS_ROTATERIGHT))printf("ALIAS_ROTATERIGHT\n");
  54.  if(checkKey(ALIAS_MAP))printf("ALIAS_MAP\n");
  55.  
  56.  if(checkKey(KEY_ESC))printf("KEY_ESC\n");
  57.  if(checkKey(KEY_F1))printf("KEY_F1\n");
  58.  if(checkKey(KEY_F2))printf("KEY_F2\n");
  59.  if(checkKey(KEY_F3))printf("KEY_F3\n");
  60.  if(checkKey(KEY_F4))printf("KEY_F4\n");
  61.  if(checkKey(KEY_F5))printf("KEY_F5\n");
  62.  if(checkKey(KEY_F6))printf("KEY_F6\n");
  63.  if(checkKey(KEY_F7))printf("KEY_F7\n");
  64.  if(checkKey(KEY_F8))printf("KEY_F8\n");
  65.  if(checkKey(KEY_F9))printf("KEY_F9\n");
  66.  if(checkKey(KEY_F10))printf("KEY_F10\n");
  67.  if(checkKey(KEY_F11))printf("KEY_F11\n");
  68.  if(checkKey(KEY_F12))printf("KEY_F12\n");
  69.  if(checkKey(KEY_SYSRQ))printf("KEY_SYSREQ\n");
  70.  if(checkKey(KEY_SCROLLLOCK))printf("KEY_SCROLLLOCK\n");
  71.  
  72.  
  73.  if(checkKey(KEY_TICK))printf("KEY_TICK\n");
  74.  if(checkKey(KEY_1))printf("KEY_1\n");
  75.  if(checkKey(KEY_2))printf("KEY_2\n");
  76.  if(checkKey(KEY_3))printf("KEY_3\n");
  77.  if(checkKey(KEY_4))printf("KEY_4\n");
  78.  if(checkKey(KEY_5))printf("KEY_5\n");
  79.  if(checkKey(KEY_6))printf("KEY_6\n");
  80.  if(checkKey(KEY_7))printf("KEY_7\n");
  81.  if(checkKey(KEY_8))printf("KEY_8\n");
  82.  if(checkKey(KEY_9))printf("KEY_9\n");
  83.  if(checkKey(KEY_0))printf("KEY_0\n");
  84.  if(checkKey(KEY_MINUS))printf("KEY_MINUS\n");
  85.  if(checkKey(KEY_EQUAL))printf("KEY_EQUAL\n");
  86.  if(checkKey(KEY_BACKSPACE))printf("KEY_BACKSPACE\n");
  87.  if(checkKey(KEY_INSERT))printf("KEY_INSERT\n");
  88.  if(checkKey(KEY_HOME))printf("KEY_HOME\n");
  89.  if(checkKey(KEY_PAGEUP))printf("KEY_PAGEUP\n");
  90.  if(checkKey(KEY_NUMLOCK))printf("KEY_NUMLOCK\n");
  91.  if(checkKey(KEY_PADSLASH))printf("KEY_PADSLASH\n");
  92.  if(checkKey(KEY_PADSTAR))printf("KEY_PADSTAR\n");
  93.  if(checkKey(KEY_PADMINUS))printf("KEY_PADMINUS\n");
  94.  
  95.  if(checkKey(KEY_TAB))printf("KEY_TAB\n");
  96.  if(checkKey(KEY_Q))printf("KEY_Q\n");
  97.  if(checkKey(KEY_W))printf("KEY_W\n");
  98.  if(checkKey(KEY_E))printf("KEY_E\n");
  99.  if(checkKey(KEY_R))printf("KEY_R\n");
  100.  if(checkKey(KEY_T))printf("KEY_T\n");
  101.  if(checkKey(KEY_Y))printf("KEY_Y\n");
  102.  if(checkKey(KEY_U))printf("KEY_U\n");
  103.  if(checkKey(KEY_I))printf("KEY_I\n");
  104.  if(checkKey(KEY_O))printf("KEY_O\n");
  105.  if(checkKey(KEY_P))printf("KEY_P\n");
  106.  if(checkKey(KEY_LEFTBRACKET))printf("KEY_LEFTBRACKET\n");
  107.  if(checkKey(KEY_RIGHTBRACKET))printf("KEY_RIGHTBRACKET\n");
  108.  if(checkKey(KEY_BACKSLASH))printf("KEY_BACKSLASH\n");
  109.  if(checkKey(KEY_DELETE))printf("KEY_DELETE\n");
  110.  if(checkKey(KEY_END))printf("KEY_END\n");
  111.  if(checkKey(KEY_PAGEDOWN))printf("KEY_PAGEDOWN\n");
  112.  if(checkKey(KEY_PAD7))printf("KEY_PAD7\n");
  113.  if(checkKey(KEY_PAD8))printf("KEY_PAD8\n");
  114.  if(checkKey(KEY_PAD9))printf("KEY_PAD9\n");
  115.  if(checkKey(KEY_PADPLUS))printf("KEY_PADPLUS\n");
  116.  
  117.  if(checkKey(KEY_CAPSLOCK))printf("KEY_CAPSLOCK\n");
  118.  if(checkKey(KEY_A))printf("KEY_A\n");
  119.  if(checkKey(KEY_S))printf("KEY_S\n");
  120.  if(checkKey(KEY_D))printf("KEY_D\n");
  121.  if(checkKey(KEY_F))printf("KEY_F\n");
  122.  if(checkKey(KEY_G))printf("KEY_G\n");
  123.  if(checkKey(KEY_H))printf("KEY_H\n");
  124.  if(checkKey(KEY_J))printf("KEY_J\n");
  125.  if(checkKey(KEY_K))printf("KEY_K\n");
  126.  if(checkKey(KEY_L))printf("KEY_L\n");
  127.  if(checkKey(KEY_SEMICOLON))printf("KEY_SEMICOLON\n");
  128.  if(checkKey(KEY_APOSTROPHE))printf("KEY_APOSTROPHE\n");
  129.  if(checkKey(KEY_ENTER))printf("KEY_ENTER\n");
  130.  if(checkKey(KEY_PAD4))printf("KEY_PAD4\n");
  131.  if(checkKey(KEY_PAD5))printf("KEY_PAD5\n");
  132.  if(checkKey(KEY_PAD6))printf("KEY_PAD6\n");
  133.  
  134.  if(checkKey(KEY_LEFTSHIFT))printf("KEY_LEFTSHIFT\n");
  135.  if(checkKey(KEY_Z))printf("KEY_Z\n");
  136.  if(checkKey(KEY_X))printf("KEY_X\n");
  137.  if(checkKey(KEY_C))printf("KEY_C\n");
  138.  if(checkKey(KEY_V))printf("KEY_V\n");
  139.  if(checkKey(KEY_B))printf("KEY_B\n");
  140.  if(checkKey(KEY_N))printf("KEY_N\n");
  141.  if(checkKey(KEY_M))printf("KEY_M\n");
  142.  if(checkKey(KEY_COMMA))printf("KEY_COMMA\n");
  143.  if(checkKey(KEY_PERIOD))printf("KEY_PERIOD\n");
  144.  if(checkKey(KEY_SLASH))printf("KEY_SLASH\n");
  145.  if(checkKey(KEY_RIGHTSHIFT))printf("KEY_RIGHTSHIFT\n");
  146.  if(checkKey(KEY_UPARROW))printf("KEY_UPARROW\n");
  147.  if(checkKey(KEY_PAD1))printf("KEY_PAD1\n");
  148.  if(checkKey(KEY_PAD2))printf("KEY_PAD2\n");
  149.  if(checkKey(KEY_PAD3))printf("KEY_PAD3\n");
  150.  if(checkKey(KEY_PADENTER))printf("KEY_PADENTER\n");
  151.  
  152.  if(checkKey(KEY_LEFTCTRL))printf("KEY_LEFTCTRL\n");
  153.  if(checkKey(KEY_LEFTWINDOW))printf("KEY_LEFTWINDOW\n");
  154.  if(checkKey(KEY_LEFTALT))printf("KEY_LEFTALT\n");
  155.  if(checkKey(KEY_SPACE))printf("KEY_SPACE\n");
  156.  if(checkKey(KEY_RIGHTALT))printf("KEY_RIGHTALT\n");
  157.  if(checkKey(KEY_RIGHTWINDOW))printf("KEY_RIGHTWINDOW\n");
  158.  if(checkKey(KEY_KEYBOARDMOUSE))printf("KEY_KEYBOARDMOUSE\n");
  159.  if(checkKey(KEY_RIGHTCTRL))printf("KEY_RIGHTCTRL\n");
  160.  if(checkKey(KEY_LEFTARROW))printf("KEY_LEFTARROW\n");
  161.  if(checkKey(KEY_DOWNARROW))printf("KEY_DOWNARROW\n");
  162.  if(checkKey(KEY_RIGHTARROW))printf("KEY_RIGHTARROW\n");
  163.  if(checkKey(KEY_PAD0))printf("KEY_PAD0\n");
  164.  if(checkKey(KEY_PADPERIOD))printf("KEY_PADPERIOD\n");
  165.  }
  166.  
  167. void codeProcess(char *printType)
  168.  {
  169.  char code;
  170.  code=checkCode(getCodeBuffer());
  171.  switch(code)
  172.   {
  173.   case CODE_NONE:break;
  174.   case CODE_SCAN:(*printType)=SCANCODES;break;
  175.   case CODE_NAME:(*printType)=THENAMES;break;
  176.   case CODE_SPACESINGLE:toggleSingleHitKey(KEY_SPACE);break;
  177.   }
  178.  }
  179.  
  180. void main(void) 
  181.  {
  182.  char printType;
  183.  installKeyboardHandler();
  184.  setCodes();
  185.  setupSingleHitKeys();
  186.  setupAliasKeys();
  187.  printf("\nHit some keys.... Esc to quit\n");
  188.  printf("Tab,1,2,3,4,5,6 keys are single hit keys\n");
  189.  printf("Some codes:\n");
  190.  printf("scan           print key scancodes\n");
  191.  printf("name           print key names\n");
  192.  printf("space          toggles space key between single and repeat\n");
  193.  printf("The aliased keys are the arrows and tab keys\n");
  194.  
  195.  printType=THENAMES;
  196.  while(1)
  197.   {
  198.   if(kbHit())
  199.    {
  200.    printKeys(printType);
  201.    if(checkKey(KEY_ESC))break;
  202.    codeProcess(&printType);
  203.    singleHitProcess();
  204.    }
  205.   }
  206.  
  207.  removeKeyboardHandler();
  208.  } 
  209.